M2M is the abbreviation of Machine-to-Machine communication, which, in a limited sense, refers to communications between machines through short range communication techniques, such as Zigbee. To put it simply, M2M brings machines all over the world into a communication network to make all machines intelligent, and no longer senseless. Generalized M2M further comprises human-to-machine and machine-to-human communications.
M2M applications have gained a rapid growth in the vertical industry market including: intelligent home, security monitoring, electronic medical treatment, retail trade, logistics monitoring, and etc. Due to the lack of unified M2M standards, M2M applications in vertical industries are commonly end-to-end solutions provided by individual manufactures, resulting in strong coupling of terminals and applications and higher deployment cost; furthermore, a large amount of deployed vertical industries form individual information isolated islands, for which information sharing is difficult, and duplication of construction is liable to occur. All of these limit the further promotion of vertical M2M applications. Hence, it is desirable to construct a M2M horizontal platform, in which the type of communication to machines is transparent to applications, and machines are connected to applications through standard interfaces. With such a platform, information sharing can be realized, while M2M deployment cost can be reduced, which can further push the wide usage of M2M.
When a node joins a wireless sensor network, it is necessary for the node and a gateway to authenticate each other. Currently, a common method is that the node and the gate way to authenticate each other via third party services. In M2M applications, personal devices can act as gateways, which have a risk of being hacked and controlled by hackers. Whereas, in the prior art, gateways controlled by hackers can forge node login to disturb normal node operations, such as configuration parameter distribution failure, failing to acquire device data timely, unable to issue control commands in time, and etc, which may cause serious consequences. Also, nodes do not authenticate gateways in the prior art, and therefore it is impossible for the node to apply corresponding security strategies according to a gateway identification, for example, whether to enable separate encryption of application data, or whether to enable integrity verification.